package com.tes.entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.OneToOne;

import com.tes.VO.PersonaVO;
import com.tes.VO.UsuarioVO;

@Entity
public class Persona implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int idPersona;
	private String nombre;
	private String apellido;
	private String mail;
	private String telefono;
	private int edad;
	private String cargo;
	private String estado;
	private boolean enviarMail;
	@OneToOne(cascade = CascadeType.ALL)
	private Usuario usuario;
	
	public PersonaVO getPersonaVO() {
		PersonaVO p = new PersonaVO();
		p.setId(this.getIdPersona());
		p.setNombre(this.getNombre());
		p.setApellido(this.getApellido());
		p.setMail(this.getMail());
		p.setCargo(this.cargo);
		p.setEdad(this.edad);
		p.setPerfil(this.usuario.getPerfil().getNombre());
		p.setTelefono(this.telefono);
		p.setEnviarMail(this.getEnviarMail());
		UsuarioVO u =new UsuarioVO();
		u.setNombre(this.getUsuario().getNombre());
		p.setUsuario(u);
		return p;
	}
	
	public int getIdPersona() {
		return idPersona;
	}
	public void setIdPersona(int idPersona) {
		this.idPersona = idPersona;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public String getMail() {
		return mail;
	}
	public void setMail(String mail) {
		this.mail = mail;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	public String getTelefono() {
		return telefono;
	}
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public int getEdad() {
		return edad;
	}
	public void setEdad(int edad) {
		this.edad = edad;
	}
	public String getCargo() {
		return cargo;
	}
	public void setCargo(String cargo) {
		this.cargo = cargo;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public boolean getEnviarMail() {
		return enviarMail;
	}
	public void setEnviarMail(boolean enviarMail) {
		this.enviarMail = enviarMail;
	}
	
}
